package com.fjwt.gz.service.mapper;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.fjwt.gz.db.dto.ScoreExchangeDTO;
import com.fjwt.gz.db.entity.ScoreExchangeEntity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.fjwt.gz.db.vo.ScoreExchangeFansVO;
import com.fjwt.gz.db.vo.ScoreExchangeRecordVO;
import com.fjwt.gz.db.vo.ScoreExchangeVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 积分兑换表(积分商城表/权益商城表) Mapper 接口
 * </p>
 *
 * @author shiyonghao
 * @since 2025-04-09
 */
public interface ScoreExchangeMapper extends BaseMapper<ScoreExchangeEntity> {

    /**
     * 获取积分商城列表
     * @param scoreExchangeDTO
     * @return
     */
    IPage<ScoreExchangeVO> queryList(IPage page, @Param("scoreExchangeDTO") ScoreExchangeDTO scoreExchangeDTO);

    /**
     * @param page
     * @param scoreExchangeDTO
     * @return
     */
    IPage<ScoreExchangeFansVO> selectConsumeList(IPage page, @Param("scoreExchangeDTO") ScoreExchangeDTO scoreExchangeDTO);

    /**
     * 商城商城列表
     * @param page
     * @param scoreExchangeDTO
     * @return
     */
    IPage<ScoreExchangeFansVO> getScoreConsumeList(IPage page, @Param("scoreExchangeDTO") ScoreExchangeDTO scoreExchangeDTO);

    ScoreExchangeVO getDetails(@Param("exchangeId") Long exchangeId, @Param("awardType")String awardType);

    /**
     * 商城兑换记录
     *
     * @return
     */
    IPage<ScoreExchangeRecordVO> getExchangeList(IPage iPage, @Param("awardType") String awardType);

}
